// Copyright 2012 dmitry.a.novikov@gmail.com
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
// http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "consistenz.h"
#include "dictionary.h"
#include "dictionaryimpl.h"
#include <iostream>


namespace CnsZ {


#define DICTIONARY_FACTORY(Cls) return ImplRefCount<DictionaryImpl2, Dictionary>::New()

  class DictionaryImpl2 : public DictionaryImpl<> {
  public:

    P<ObjectIterator> newIterator(const Object* fromId, const Object* toId) const {
      return DictionaryImpl<>::newIterator(this, fromId, toId);
    }

  };


  DEFINE_CNSZ_CLASS(Dictionary, Object, DICTIONARY_FACTORY);

/*
  void DictionaryReactor::added(const Handle* ) {}

  void DictionaryReactor::removed(const Handle* ) {}

  void DictionaryReactor::willBeModified(const Object* ) {}

  void DictionaryReactor::modified(const Handle* ) {}

  void DictionaryReactor::canceled(const Handle* ) {}
*/
}
